package providers

type Identifiable interface {
	GetID() string
}

type Provider struct {
	ID          string `json:"id" mapstructure:"id"`
	Name        string `json:"name" mapstructure:"name"`
	Type        string `json:"type" mapstructure:"type"`
	Description string `json:"description" mapstructure:"description"`
	BaseUrl     string `json:"base_url" mapstructure:"base_url"`
}

func (p *Provider) GetID() string {
	return p.ID
}

type Model struct {
	ID       string `json:"id" mapstructure:"id"`
	Name     string `json:"name" mapstructure:"name"`
	Provider struct {
		ID string `json:"id" mapstructure:"id"`
	} `json:"provider" mapstructure:"provider"`
	Type string `json:"type" mapstructure:"type"`
}

func (m *Model) GetID() string {
	return m.ID
}
